Skip to content

content: first flight, and the visibility that runs one way - #4

Open
fcatuhe wants to merge 3 commits into
mainfrom
content/first-flight
Open

content: first flight, and the visibility that runs one way#4
fcatuhe wants to merge 3 commits into
mainfrom
content/first-flight

Conversation

@fcatuhe

@fcatuhe fcatuhe commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Gate G9 of the launch gate asks that a stranger can flash a skyBlip Go and fly it, from one page. This adds that page in both languages, and corrects see-and-avoid on the one fact a buyer would otherwise get wrong: no FLARM-generation display receives ADS-L, so visibility runs one way today.

User flow

A pilot who has just been handed a device lands on /first-flight from the nav or from the bottom of devices, and leaves knowing four things: how to put firmware on it (double-click, drag, drop), what a phone can change over Bluetooth and why the device asks for a button press before it accepts anything, what each of the three alarm levels sounds like and when it fires, and what the device cannot see. The French pilot gets the same page at /fr/premier-vol.

Behavior changes

Before After
No instructions existed anywhere for a first flash /first-flight and /fr/premier-vol, in the nav, linked from devices
The alarm table described a continuous tone per level One blip, two beeps, a train of six repeating: the rhythms the firmware now actually plays
Nothing said what happens in a gaggle The page says the device holds two gliders sharing a thermal at Info through a very close pass, and that in a gaggle the screen is the instrument
see-and-avoid said we transmit and receive ADS-L It still does, and now adds that no FLARM-generation display receives ADS-L, so a glider's own panel does not see a skyBlip

Implementation notes

Every threshold on the page traces to a firmware constant, and each is named in the commit: the three alarm rings and the vertical window from core/traffic/alarm.h, the vibration durations and re-announce interval from the alarm service, the 600 ms double press from ui/input/gesture.h, the 30 s prompt and 10 minute upload window from core/comms/config.h, the settings list from schemas/config.v1.schema.json, and the bootloader behaviour from scripts/mkuf2.py and the UF2 spec.

Design decisions

  • The safety section is a section, not a disclaimer. It lists what is received and then what is not, and ends on the aircraft carrying no equipment at all, which no device can help with. It links to see-and-avoid rather than repeating it.
  • No invented URL for configuration. The walk-up Web Bluetooth page does not exist yet, so the page describes what the device offers and says plainly that reaching it today means a generic Bluetooth tool.
  • The one-way visibility paragraph is on see-and-avoid, not buried on the new page, because that is the page a prospective buyer reads before deciding whether this device makes them visible to the traffic they care about.

Tests

bin/ci green (style, gem audit, importmap audit, Brakeman). bin/static-build green, emitting build/first-flight.html and build/fr/premier-vol.html with nav, hreflang alternates and cross-page links resolving.

fcatuhe added 3 commits August 3, 2026 20:10
…what it doesn't see)

Closes launch-gate G9: the one page a stranger needs to flash a
skyBlip Go and fly it. Covers the UF2 drag-and-drop first flash (and
the one file to avoid), the settings a phone can change over BLE and
the physical-presence gesture that authorises them, what each of the
three alarm levels does (thresholds traced to core/traffic/alarm.h),
and — as its own remembered section, not a footnote — what the device
does not see: no OGNTP, no FANET, no PilotAware P3I, no 1090 or UAT978
on its own radio, and nothing at all from traffic that transmits
nothing.

English and French (content/first-flight, content/fr/premier-vol).
Nav updated via page frontmatter; devices now links forward to it.

No Web Bluetooth configuration page exists yet in skyblip/ or
website/; the BLE section is written to be true today and says so.
…stays quiet in

Each level has its own rhythm since core/annunciation landed: a blip, a pair, a
train of six that repeats. And the limitation the committed circling fixture
pins down belongs on the page a stranger reads, not only in the spec: two
gliders on offset circles in one thermal can pass very close while the range
never closes long enough to count.
No FLARM-generation display receives ADS-L: the licence those devices can buy is
to transmit it. A reader of this page would otherwise assume mutual visibility
from "transmits and receives", and the research behind that claim is
project/research/does-flarm-receive-adsl.md.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant